/**
 * 
 */
package cn.biplam.front.html;

import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.html.base.Const.Length_Unit;

/**
 * Html Table
 * @author 	WangSong 2009-3-22 下午10:46:11
 * @version 1.0
 */
public class HtmlTable extends HtmlWindow {

	/**
	 * 构造方法		无参构造
	 */
	public HtmlTable(){
	}
	
	/**
	 * 构造方法		传入对象的页面ID初始化
	 * @param ID
	 */
	public HtmlTable(String ID){
		super(ID);
	}
	
	/**
	 * 构造方法 传入对象的页面ID和CSSID初始化
	 * @param ID
	 * @param cssID
	 */
	public HtmlTable(String ID,String cssID){
		super(ID,cssID);
	}
	
	/**
	 * 返回实现类自定义的位于对象起始和结束标签内的 HTML
	 * @param sb
	 * @throws ErrorMessage
	 */
	protected void _getContent(StringBuilder sb) throws ErrorMessage {
	}
	
	/**
	 * 复制对象
	 * @return 创建的新对象实例
	 * @throws ErrorMessage
	 */
	public HtmlWindow copy() throws ErrorMessage {
		HtmlTable table = new HtmlTable(this.getID(),this.getCssID());
		super._copy(table);
		return table;
	}
	
	/**
	 * 获取对象及其内容的 HTML 形式(不包含客户端绑定脚本)
	 * @param sb 传入的写缓冲区
	 * @throws ErrorMessage
	 */
	public void getHtml(StringBuilder sb) throws ErrorMessage {
		sb.append("<TABLE ");
		super.writeTagSetting(sb);
		sb.append(">\n");
		this.getContent(sb);
		sb.append("</TABLE>\n");
	}
	
	/**
	 * 设置cellPadding
	 * @param value	参数值(默认单位px)
	 * @throws ErrorMessage 
	 */
	public void setCellPadding(String value) throws ErrorMessage{
		super.setProperty("cellPadding", value+Length_Unit.px.toString());
	}
	
	/**
	 * 设置cellPadding
	 * @param value	参数值
	 * @param unit	长度单位(Const.Length_Unit)
	 * @throws ErrorMessage 
	 */
	public void setCellPadding(String value, Length_Unit unit) throws ErrorMessage{
		super.setProperty("cellPadding", value+unit.toString());
	}

	/**
	 * 设置cellSpacing
	 * @param value	参数值(默认单位px)
	 * @throws ErrorMessage 
	 */
	public void setCellSpaceing(String value) throws ErrorMessage{
		super.setProperty("cellSpacing", value+Length_Unit.px.toString());
	}

	/**
	 * 设置cellSpacing
	 * @param value	参数值
	 * @param unit	长度单位(Const.Length_Unit)
	 * @throws ErrorMessage 
	 */
	public void setCellSpaceing(String value, Length_Unit unit) throws ErrorMessage{
		super.setProperty("cellSpacing", value+unit.toString());
	}
}
